[PowerShell] .NET Core Global Toolsを使ったPowerShell Coreのインストールがサポートされました
しばたです。
以前Developers.IOでお知らせした.NET Core Global Toolsを使ったPowerShell Coreのインストールですが、Nugetパッケージの事前ダウンロードが不要となりdotnet tool install
コマンド一発でできる様になりました。
PowerShell Team Blogでのアナウンスがこちらになります。
やってみた
以下の環境で試してみます。
- 64bit版 Windows 10 May 2019 Update (1903)
- .NET Core SDK 2.2.301 (現時点での最新Stableバージョン) インストール済み
- Visual Studioなどの開発ツールは未インストール
インストール
PowerShell Team Blogにある通りdotnet tool install
コマンドを実行してみます。
dotnet tool install --global PowerShell
さほど待ち時間もなくあっさりコマンドは終了しました。
PowerShell Coreのインストール場所
インストールしたPowerShell Coreを起動する前にどこにインストールされたか確認してみます。
どうやら[ユーザープロファイル]\.dotnet\tools\
配下にインストールされている様です。
Explorerで見ると、該当フォルダにはpwsh.exe
だけありました。
その他アセンブリはさらに深い階層にバージョン別に保存されています。
PowerShell Coreは.NET Core 2.1製でSelf-containedな形でアプリケーションが丸ごとNugetパッケージに登録されています。
このため今回の環境の様にインストール元になる.NET Core SDKのランタイムバージョンは2.1でなくても構いません。
PowerShell Coreを起動してみる
.NET Core Global Toolsからインストールした場合はスタートメニューにアプリケーション情報は登録されません。
また、.NET Core Toolsのパスがユーザー環境変数のPATH環境変数に登録されているもののシステム環境変数ではないのでスタートメニューの検索ウィンドウから起動することもできません。
このためPowerShell CoreはコマンドプロンプトやWindows PowerShellから起動する必要があります。
ここで今回の環境ではWindows PowerShellからPowerShell Coreを起動した際にフォントがConsolas
になり日本語の表記が化ける事象が発生しました。
こちらはフォント設定をMSゴシック
などのフォントにしてやれば解決します。
あとはいつものPowerShell Coreですのでいつも通りに使っていきましょう。
ただし、インストール先が通常のインストーラーでインストールした場合と異なりますので以下のパスには気をつけてください。
$PSHOME
- ALL Usersなプロファイル
最後に
ざっとこんな感じです。
PowerShellを常用する私にとってはインストーラーからインストールする方が便利に使えると感じましたが、PowerShellを開発時にしか使わない方にとっては.NET Core Global Toolsからインストールする方がよりシンプルで良いでしょう。
環境やユースケースによってインストール方法を使い分けるのが良いと思います。